package cc.uncarbon.module.appapi.model.vo;

import cc.uncarbon.framework.core.constant.HelioConstant;
import cc.uncarbon.module.appapi.constant.AppApiConstant;
import cc.uncarbon.module.appapi.constant.DateFormatter;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Time;
import java.time.LocalTime;

@Accessors(chain = true)
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class StoreVO implements Serializable {

    @Schema(description = "商户id")
    private Long id;

    @Schema(description = "商户名称")
    private String name;

    @Schema(description = "商户地址")
    private String address;

    @Schema(description = "商户Logo图片链接")
    private String logo;

    @Schema(description = "排序序号")
    private Integer sortOrder;

    @Schema(description = "纬度")
    private BigDecimal latitude;

    @Schema(description = "经度")
    private BigDecimal longitude;

    @Schema(description = "开门时间")
    @DateTimeFormat(pattern =DateFormatter.TIME_FORMAT)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateFormatter.TIME_FORMAT)
    private LocalTime openTime;

    @Schema(description = "关门时间")
    @DateTimeFormat(pattern =DateFormatter.TIME_FORMAT)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateFormatter.TIME_FORMAT)
    private LocalTime closeTime;

    @Schema(description = "电话")
    private String telephone;
}
